#ifndef DEPTHDATAPARSER_H
#define DEPTHDATAPARSER_H
struct DepthFrame;

#include <QObject>

class DepthDataParser
{
    Q_OBJECT
public:
    DepthDataParser();
    //std::vector<DepthFrame> processData(const QByteArray& newData);
private:
    template<typename T>
    T parseLittleEndian(const QByteArray& data,int pos,int bytes)
    {
        T value = 0;
        for(int i=0;i<bytes;i++)
        {
            value |= (static_cast<quint8>(data[pos+i])<<(i*8));
        }
        return value;
    }
    struct DepthFrame
    {
        quint32 width;
        quint32 height;
        QByteArray data;
    };
    QByteArray m_buffer; // 接收数据缓冲区
    QByteArray m_header; //帧头
    int m_headerSize;   // 帧头长度
    int m_metaDataSize; // 元数据长度
};

#endif // DEPTHDATAPARSER_H
